#include <stdio.h>
#include <string.h>

/*
数组的声明方式
1、完整声明 完善初始化
int arr_1[5] = {1,2,3,4,5};
2、不完整声明 完善初始化    元素个数 和 初始化 数据个数 相同
int arr_2[] = {1,2,3,4,5};
3、完整声明 不完整初始化
    int arr_3[128] = {1};
        初始化部分数   被初始化的部分 有确定值  没有初始化的部分 为 0
    int arr_4[128];
        都不初始化 内部的值 为乱码
4、不完整声明 不初始化
    int arr_5[];
        不可以使用 会报错
*/
int main(int argc, char const *argv[])
{
    // 1、完整声明 完整初始化
    int arr_1[5] = {1,2,3,4,5};

    // 2、不完整声明 完整初始化
    int arr_2[] = {1,2,3,4,5};
    printf("arr_2 有 %ld 个元素\n" , sizeof(arr_2) / sizeof(int));

    // 3、完整声明 不完整初始化
    int arr_3[128] = {1};
    // for (int i = 0; i < sizeof(arr_3) / sizeof(int); i++)
    // {
    //     printf("arr[%d] = [%d]\n" , i  , arr_3[i]);
    // }
    int arr_4[128];
    for (int i = 0; i < sizeof(arr_4) / sizeof(int); i++)
    {
        printf("arr[%d] = [%d]\n" , i  , arr_4[i]);
    }

    
    
    return 0;
}






